package fr.afcepf.al23.qualite.exception;

/**
 * Classe permettant de gerer les exceptions de l'application.
 * @author stagiaires
 *
 */
public class QualiteException extends Exception {
    /**
     * serial version.
     */
    private static final long serialVersionUID = 1L;
    /**
     * Enumeration des codes d'erreurs.
     */
    private static enum ErrorCode {
        /**
         * lors de l'enregistrement de l'utilisateur.
         */
        MAIL_EXISTE,
        /**
         * lors du passage de la commande.
         */
        COMMANDE_INVALIDE };
     /**
     * Code d'erreur de l'exception.
     */
    private Integer errorCode;
    /**
     * Constructeur par defaut.
     */
    public QualiteException() {
        super();
    }
    /**
     * Constructeur avec parametres.
     * @param paramMessage initialisation de {@link QualiteException#paramMessage}.
     * @param paramCause initialisation de {@link QualiteException#paramCause}.
     * @param paramEnableSuppression initialisation de {@link QualiteException#paramEnableSuppression}.
     * @param paramWritableStackTrace initialisation de {@link QualiteException#paramWritableStackTrace}.
     */
    public QualiteException(String paramMessage, Throwable paramCause,
            boolean paramEnableSuppression, boolean paramWritableStackTrace) {
        super(paramMessage, paramCause, paramEnableSuppression, paramWritableStackTrace);
    }
    /**
     * @param paramMessage initialisation de {@link QualiteException#paramMessage}.
     * @param paramCause initialisation de {@link QualiteException#paramCause}.
     */
    public QualiteException(String paramMessage, Throwable paramCause) {
        super(paramMessage, paramCause);
        // TODO Auto-generated constructor stub
    }
    /**
     * @param paramMessage initialisation de {@link QualiteException#paramMessage}.
     */
    public QualiteException(String paramMessage) {
        super(paramMessage);
        // TODO Auto-generated constructor stub
    }
    /**
     * @param paramMessage initialisation de {@link QualiteException#paramMessage}.
     */
    public QualiteException(Throwable paramMessage) {
        super(paramMessage);
        // TODO Auto-generated constructor stub
    }
}
